<template>
  <PageWrapper title="测试">
    <BasicForm @register="registerForm"> </BasicForm>
    <div>
      <a-button type="primary" @click="submitFn">测试提交</a-button>
      <!--      <a-button type="primary" @click="testChooseFn">测试选择联系人</a-button>-->
    </div>
  </PageWrapper>
</template>
<script lang="ts" setup>
  import { CollapseContainer } from '@/components/Container';
  import { Alert } from 'ant-design-vue';
  import { openWindow } from '@/utils';
  import { ref, computed, onMounted } from 'vue';
  import { getConfigApi } from '@/api/sys/common';
  import { useMessage } from '@/hooks/web/useMessage';
  import { BasicForm, FormSchema, useForm } from '@/components/Form';
  import { PageWrapper } from '@/components/Page';
  import { formSchema } from '@/views/bookManage/chatGroupList/role.data';
  import * as dd from 'dingtalk-jsapi';
  const { notification, createErrorModal } = useMessage();

  let formSchema: FormSchema[] = [
    {
      field: 'txt',
      label: '富文本',
      required: true,
      component: 'Tinymce',
    },
  ];

  let t =
    '<p>我的英文整脚，却大胆闯荡美国，直接登门拜访客户企业。记得赴美前夕，我还专程去拜访住西式公寓的朋友，请教洋式马桶的用法，这玩意儿当时还很稀奇。那时代出洋机会难得，还是1美元兑换360日元的时候。\n' +
    '然而，驻美一个多月，不管我多么卖力到目标企业去游说</p>';

  const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({
    labelWidth: 90,
    baseColProps: { span: 24 },
    schemas: formSchema,
    showActionButtonGroup: false,
  });

  async function submitFn() {
    const values = await validate();
    console.log(values);
  }
  onMounted(() => {
    //setConfig()
  });
  function setConfig() {
    let currentUrl = window.location.href;
    console.info('----currentUrl::' + currentUrl);
    let data = {
      url: currentUrl,
    };
    getConfigApi(data).then((res) => {
      if (res.code == 200) {
        let { agentId, corpId, timeStamp, nonceStr, signature } = res.data;
        let configJson = {
          appId: agentId,
          corpId,
          timeStamp,
          nonceStr,
          signature,
        };
        (configJson.type = 0), //选填。0表示微应用的jsapi,1表示服务窗的jsapi；不填默认为0。该参数从dingtalk.js的0.8.3版本开始支持
          (configJson.jsApiList = ['biz.contact.choose']); // 必填，需要使用的jsapi列表，注意：不要带dd。
        dd.config(configJson);

        dd.error(function (err) {
          console.info('----error::', err);
          alert('dd error: ' + JSON.stringify(err));
        }); //该方法必须带上，用来捕获鉴权出现的异常信息，否则不方便排查出现的问题
      } else {
      }
    });
  }

  function testChooseFn() {
    dd.ready(function () {
      dd.biz.contact.choose({
        multiple: true, //是否多选：true多选 false单选； 默认true
        users: [], //默认选中的用户列表，员工userid；成功回调中应包含该信息
        corpId: 'ding2e2011827f67ec7d35c2f4657eb6378f', //企业id
        max: 10, //人数限制，当multiple为true才生效，可选范围1-1500
        onSuccess: function (data) {
          console.info('--data', data);
          /* data结构
            [{
              "name": "张三", //姓名
              "avatar": "
      http://g.alicdn.com/avatar/zhangsan.png
      " //头像图片url，可能为空
              "emplId": '0573', //员工userid
             },
             ...
            ]
          */
        },
        onFail: function (err) {
          console.error(err);
          notification.error({
            message: '错误提示',
            description: 'dd error: ' + JSON.stringify(err),
          });
        },
      });
    });
  }
</script>
